Linear Search in Python? [closed]
Posted
by
POTUS
on Programmers
See other posts from Programmers
or by POTUS
Published on 2012-08-30T03:30:24Z
Indexed on
2012/08/30
3:48 UTC
Read the original article
Hit count: 343
python
def find_interval(mesh,x): '''This function finds the interval containing x according to the following rules, mesh is an ordered list with n numbers return 0 if x < mesh[0] return n if mesh[n-1] < x return k if mesh[k-1] <= x < mesh[k] return n-1 if mesh[n-2] <= x <= mesh[n-1]
This function does a Linear search.
08/29/2012
'''
for n in range(len(mesh)):
for k in range(len(mesh)):
if x == mesh[n]:
print "Found x at index:"
return n
elif x<mesh[n]:
return 0
elif mesh[n-1]<x:
return n
elif mesh[n-2]<=x<=mesh[n-1]:
return n-1
elif mesh[k-1]<=x<mesh[k]:
return k
mesh = [0, 0.1, 0.25, 0.5, 0.6, 0.75, 0.9, 1] print mesh print find_interval(mesh, -1)
print find_interval(mesh, 0)
print find_interval(mesh, 0.1)
print find_interval(mesh, 0.8)
print find_interval(mesh, 0.9)
print find_interval(mesh, 1)
print find_interval(mesh, 1.01)
Output: [0, 0.100000000000000, 0.250000000000000, 0.500000000000000, 0.600000000000000, 0.750000000000000, 0.900000000000000, 1] 0 Found x at index: 0 2 6 -1 -1 0
I don't think the output is correct. Can anyone help me fix it? Thanks.
© Programmers or respective owner